<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IBustComponent</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="index.html" title="IBust Reference Manual">
<link rel="up" href="ch03.html" title="Input method engine">
<link rel="prev" href="ch03.html" title="Input method engine">
<link rel="next" href="IBustEngine.html" title="IBustEngine">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="ch03.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">IBust Reference Manual</th>
<td><a accesskey="n" href="IBustEngine.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#IBustComponent.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#IBustComponent.description" class="shortcut">Description</a>
                   | 
                  <a href="#IBustComponent.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#IBustComponent.properties" class="shortcut">Properties</a>
</td></tr>
</table>
<div class="refentry">
<a name="IBustComponent"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="IBustComponent.top_of_page"></a>IBustComponent</span></h2>
<p>IBustComponent — Component (executable) specification.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="IBustComponent.stability-level"></a><h2>Stability Level</h2>
Stable, unless otherwise indicated
</div>
<div class="refsynopsisdiv">
<a name="IBustComponent.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">struct              <a class="link" href="IBustComponent.html#IBustComponent-struct" title="struct IBustComponent">IBustComponent</a>;
struct              <a class="link" href="IBustComponent.html#IBustComponentClass" title="struct IBustComponentClass">IBustComponentClass</a>;
<span class="returnvalue">void</span>                <a class="link" href="IBustComponent.html#ibust-component-add-engine" title="ibust_component_add_engine ()">ibust_component_add_engine</a>           (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustEngineDesc.html" title="IBustEngineDesc"><span class="type">IBustEngineDesc</span></a> *engine</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustComponent.html#ibust-component-add-observed-path" title="ibust_component_add_observed_path ()">ibust_component_add_observed_path</a>    (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *path</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> access_fs</code></em>);
<span class="returnvalue">gboolean</span>            <a class="link" href="IBustComponent.html#ibust-component-check-modification" title="ibust_component_check_modification ()">ibust_component_check_modification</a>   (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
const <span class="returnvalue">gchar</span> *       <a class="link" href="IBustComponent.html#ibust-component-get-author" title="ibust_component_get_author ()">ibust_component_get_author</a>           (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
const <span class="returnvalue">gchar</span> *       <a class="link" href="IBustComponent.html#ibust-component-get-description" title="ibust_component_get_description ()">ibust_component_get_description</a>      (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
<span class="returnvalue">GList</span> *             <a class="link" href="IBustComponent.html#ibust-component-get-engines" title="ibust_component_get_engines ()">ibust_component_get_engines</a>          (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
const <span class="returnvalue">gchar</span> *       <a class="link" href="IBustComponent.html#ibust-component-get-exec" title="ibust_component_get_exec ()">ibust_component_get_exec</a>             (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
const <span class="returnvalue">gchar</span> *       <a class="link" href="IBustComponent.html#ibust-component-get-homepage" title="ibust_component_get_homepage ()">ibust_component_get_homepage</a>         (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
const <span class="returnvalue">gchar</span> *       <a class="link" href="IBustComponent.html#ibust-component-get-license" title="ibust_component_get_license ()">ibust_component_get_license</a>          (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
const <span class="returnvalue">gchar</span> *       <a class="link" href="IBustComponent.html#ibust-component-get-name" title="ibust_component_get_name ()">ibust_component_get_name</a>             (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
<span class="returnvalue">GList</span> *             <a class="link" href="IBustComponent.html#ibust-component-get-observed-paths" title="ibust_component_get_observed_paths ()">ibust_component_get_observed_paths</a>   (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
const <span class="returnvalue">gchar</span> *       <a class="link" href="IBustComponent.html#ibust-component-get-textdomain" title="ibust_component_get_textdomain ()">ibust_component_get_textdomain</a>       (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
const <span class="returnvalue">gchar</span> *       <a class="link" href="IBustComponent.html#ibust-component-get-version" title="ibust_component_get_version ()">ibust_component_get_version</a>          (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);
<a class="link" href="IBustComponent.html" title="IBustComponent"><span class="returnvalue">IBustComponent</span></a> *     <a class="link" href="IBustComponent.html#ibust-component-new" title="ibust_component_new ()">ibust_component_new</a>                  (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *description</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *license</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *author</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *homepage</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *command_line</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *textdomain</code></em>);
<a class="link" href="IBustComponent.html" title="IBustComponent"><span class="returnvalue">IBustComponent</span></a> *     <a class="link" href="IBustComponent.html#ibust-component-new-from-file" title="ibust_component_new_from_file ()">ibust_component_new_from_file</a>        (<em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>);
<a class="link" href="IBustComponent.html" title="IBustComponent"><span class="returnvalue">IBustComponent</span></a> *     <a class="link" href="IBustComponent.html#ibust-component-new-from-xml-node" title="ibust_component_new_from_xml_node ()">ibust_component_new_from_xml_node</a>    (<em class="parameter"><code><a class="link" href="ibust-ibustxml.html#XMLNode" title="XMLNode"><span class="type">XMLNode</span></a> *node</code></em>);
<a class="link" href="IBustComponent.html" title="IBustComponent"><span class="returnvalue">IBustComponent</span></a> *     <a class="link" href="IBustComponent.html#ibust-component-new-varargs" title="ibust_component_new_varargs ()">ibust_component_new_varargs</a>          (<em class="parameter"><code>const <span class="type">gchar</span> *first_property_name</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustComponent.html#ibust-component-output" title="ibust_component_output ()">ibust_component_output</a>               (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>,
                                                         <em class="parameter"><code><span class="type">GString</span> *output</code></em>,
                                                         <em class="parameter"><code><span class="type">gint</span> indent</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustComponent.html#ibust-component-output-engines" title="ibust_component_output_engines ()">ibust_component_output_engines</a>       (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>,
                                                         <em class="parameter"><code><span class="type">GString</span> *output</code></em>,
                                                         <em class="parameter"><code><span class="type">gint</span> indent</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="IBustComponent.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  GObject
   +----GInitiallyUnowned
         +----<a class="link" href="IBustObject.html" title="IBustObject">IBustObject</a>
               +----<a class="link" href="IBustSerializable.html" title="IBustSerializable">IBustSerializable</a>
                     +----IBustComponent
</pre>
</div>
<div class="refsect1">
<a name="IBustComponent.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="IBustComponent.html#IBustComponent--author" title='The "author" property'>author</a>"                   <span class="type">gchar</span>*                : Read / Write / Construct Only
  "<a class="link" href="IBustComponent.html#IBustComponent--command-line" title='The "command-line" property'>command-line</a>"             <span class="type">gchar</span>*                : Read / Write / Construct Only
  "<a class="link" href="IBustComponent.html#IBustComponent--description" title='The "description" property'>description</a>"              <span class="type">gchar</span>*                : Read / Write / Construct Only
  "<a class="link" href="IBustComponent.html#IBustComponent--homepage" title='The "homepage" property'>homepage</a>"                 <span class="type">gchar</span>*                : Read / Write / Construct Only
  "<a class="link" href="IBustComponent.html#IBustComponent--license" title='The "license" property'>license</a>"                  <span class="type">gchar</span>*                : Read / Write / Construct Only
  "<a class="link" href="IBustComponent.html#IBustComponent--name" title='The "name" property'>name</a>"                     <span class="type">gchar</span>*                : Read / Write / Construct Only
  "<a class="link" href="IBustComponent.html#IBustComponent--textdomain" title='The "textdomain" property'>textdomain</a>"               <span class="type">gchar</span>*                : Read / Write / Construct Only
  "<a class="link" href="IBustComponent.html#IBustComponent--version" title='The "version" property'>version</a>"                  <span class="type">gchar</span>*                : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1">
<a name="IBustComponent.description"></a><h2>Description</h2>
<p>
An IBustComponent is an executable program.
It provides services such as user interface, configuration,
and input method engine (IME).
</p>
<p>
It is recommended that IME developers provide
a component XML file and
load the XML file by <a class="link" href="IBustComponent.html#ibust-component-new-from-file" title="ibust_component_new_from_file ()"><code class="function">ibust_component_new_from_file()</code></a>.
</p>
<p>
The format of a component XML file is described  at
<a class="ulink" href="http://code.google.com/p/ibust/wiki/DevXML" target="_top">http://code.google.com/p/ibust/wiki/DevXML</a>
</p>
</div>
<div class="refsect1">
<a name="IBustComponent.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="IBustComponent-struct"></a><h3>struct IBustComponent</h3>
<pre class="programlisting">struct IBustComponent {
    /* padding */
    gpointer pdummy[7];  // We can add 7 pointers without breaking the ABI.
};
</pre>
<p>
An IBustComponent stores component information.
You can get extended values with g_object_get_properties.
name: Name of the component.
description: Detailed description of component.
version: Component version.
license: Distribution license of this component.
author: Author(s) of the component.
homepage: Homepage of the component.
command_line: path to component executable.
textdomain: Domain name for <code class="function">dgettext()</code>
</p>
</div>
<hr>
<div class="refsect2">
<a name="IBustComponentClass"></a><h3>struct IBustComponentClass</h3>
<pre class="programlisting">struct IBustComponentClass {
  IBustSerializableClass parent;

  /* class members */
};
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-add-engine"></a><h3>ibust_component_add_engine ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_component_add_engine           (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustEngineDesc.html" title="IBustEngineDesc"><span class="type">IBustEngineDesc</span></a> *engine</code></em>);</pre>
<p>
Add an engine to IBustComponent according to the description in <em class="parameter"><code>engine</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>A description of an engine.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-add-observed-path"></a><h3>ibust_component_add_observed_path ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_component_add_observed_path    (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *path</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> access_fs</code></em>);</pre>
<p>
Add an observed path to IBustComponent.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
<td>Observed path to be added.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>access_fs</code></em> :</span></p></td>
<td>TRUE for filling the file status; FALSE otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-check-modification"></a><h3>ibust_component_check_modification ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>            ibust_component_check_modification   (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Check whether the observed paths of component is modified.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE if at least one of the observed paths is modified; FALSE otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-get-author"></a><h3>ibust_component_get_author ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       ibust_component_get_author           (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Return the author property in IBustComponent. It should not be freed.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>author property in IBustComponent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-get-description"></a><h3>ibust_component_get_description ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       ibust_component_get_description      (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Return the description property in IBustComponent. It should not be freed.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>description property in IBustComponent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-get-engines"></a><h3>ibust_component_get_engines ()</h3>
<pre class="programlisting"><span class="returnvalue">GList</span> *             ibust_component_get_engines          (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Get the engines of this component.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A newly allocated GList that contains engines. <span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> IBustEngineDesc]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-get-exec"></a><h3>ibust_component_get_exec ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       ibust_component_get_exec             (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Return the exec property in IBustComponent. It should not be freed.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>exec property in IBustComponent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-get-homepage"></a><h3>ibust_component_get_homepage ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       ibust_component_get_homepage         (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Return the homepage property in IBustComponent. It should not be freed.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>homepage property in IBustComponent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-get-license"></a><h3>ibust_component_get_license ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       ibust_component_get_license          (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Return the license property in IBustComponent. It should not be freed.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>license property in IBustComponent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-get-name"></a><h3>ibust_component_get_name ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       ibust_component_get_name             (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Return the name property in IBustComponent. It should not be freed.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>name property in IBustComponent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-get-observed-paths"></a><h3>ibust_component_get_observed_paths ()</h3>
<pre class="programlisting"><span class="returnvalue">GList</span> *             ibust_component_get_observed_paths   (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Get the observed paths of this component.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A
newly allocated GList that contains observed paths. <span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> IBustObservedPath]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-get-textdomain"></a><h3>ibust_component_get_textdomain ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       ibust_component_get_textdomain       (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Return the textdomain property in IBustComponent. It should not be freed.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>textdomain property in IBustComponent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-get-version"></a><h3>ibust_component_get_version ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       ibust_component_get_version          (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>);</pre>
<p>
Return the version property in IBustComponent. It should not be freed.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>version property in IBustComponent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-new"></a><h3>ibust_component_new ()</h3>
<pre class="programlisting"><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="returnvalue">IBustComponent</span></a> *     ibust_component_new                  (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *description</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *license</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *author</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *homepage</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *command_line</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *textdomain</code></em>);</pre>
<p>
New an IBustComponent.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>Name of the component.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>description</code></em> :</span></p></td>
<td>Detailed description of component.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
<td>Component version.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>license</code></em> :</span></p></td>
<td>Distribution license of this component.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>author</code></em> :</span></p></td>
<td>Author(s) of the component.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>homepage</code></em> :</span></p></td>
<td>Homepage of the component.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>command_line</code></em> :</span></p></td>
<td>path to component executable.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>textdomain</code></em> :</span></p></td>
<td>Domain name for <code class="function">dgettext()</code>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A newly allocated IBustComponent.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-new-from-file"></a><h3>ibust_component_new_from_file ()</h3>
<pre class="programlisting"><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="returnvalue">IBustComponent</span></a> *     ibust_component_new_from_file        (<em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>);</pre>
<p>
New an IBustComponent from an XML file.
Note that a component file usually contains engine descriptions,
if it does, <a class="link" href="IBustEngineDesc.html#ibust-engine-desc-new-from-xml-node" title="ibust_engine_desc_new_from_xml_node ()"><code class="function">ibust_engine_desc_new_from_xml_node()</code></a> will be called
to load the engine descriptions.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
<td>An XML file that contains component information.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A newly allocated IBustComponent.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-new-from-xml-node"></a><h3>ibust_component_new_from_xml_node ()</h3>
<pre class="programlisting"><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="returnvalue">IBustComponent</span></a> *     ibust_component_new_from_xml_node    (<em class="parameter"><code><a class="link" href="ibust-ibustxml.html#XMLNode" title="XMLNode"><span class="type">XMLNode</span></a> *node</code></em>);</pre>
<p>
New an IBustComponent from an XML tree.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
<td>Root node of component XML tree.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A newly allocated IBustComponent.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-new-varargs"></a><h3>ibust_component_new_varargs ()</h3>
<pre class="programlisting"><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="returnvalue">IBustComponent</span></a> *     ibust_component_new_varargs          (<em class="parameter"><code>const <span class="type">gchar</span> *first_property_name</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
New an IBustComponent.
<a class="link" href="IBustComponent.html#ibust-component-new-varargs" title="ibust_component_new_varargs ()"><code class="function">ibust_component_new_varargs()</code></a> supports the va_list format.
name property is required. e.g.
IBustComponent *component = ibust_component_new_varargs ("name", "ibust-foo",
                                                       "command_line", "/usr/libexec/ibust-engine-foo --ibust",
                                                    NULL)
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
<td>Name of the first property.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-output"></a><h3>ibust_component_output ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_component_output               (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>,
                                                         <em class="parameter"><code><span class="type">GString</span> *output</code></em>,
                                                         <em class="parameter"><code><span class="type">gint</span> indent</code></em>);</pre>
<p>
Output IBustComponent as an XML-formatted string.
The output string can be then shown on the screen or written to file.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
<td>GString that holds the result.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>indent</code></em> :</span></p></td>
<td>level of indent.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-component-output-engines"></a><h3>ibust_component_output_engines ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_component_output_engines       (<em class="parameter"><code><a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a> *component</code></em>,
                                                         <em class="parameter"><code><span class="type">GString</span> *output</code></em>,
                                                         <em class="parameter"><code><span class="type">gint</span> indent</code></em>);</pre>
<p>
Output engine description  as an XML-formatted string.
The output string can be then shown on the screen or written to file.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
<td>An IBustComponent.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
<td>GString that holds the result.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>indent</code></em> :</span></p></td>
<td>level of indent.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="IBustComponent.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="IBustComponent--author"></a><h3>The <code class="literal">"author"</code> property</h3>
<pre class="programlisting">  "author"                   <span class="type">gchar</span>*                : Read / Write / Construct Only</pre>
<p>
The author of component
</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="IBustComponent--command-line"></a><h3>The <code class="literal">"command-line"</code> property</h3>
<pre class="programlisting">  "command-line"             <span class="type">gchar</span>*                : Read / Write / Construct Only</pre>
<p>
The exec path of component
</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="IBustComponent--description"></a><h3>The <code class="literal">"description"</code> property</h3>
<pre class="programlisting">  "description"              <span class="type">gchar</span>*                : Read / Write / Construct Only</pre>
<p>
The description of component
</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="IBustComponent--homepage"></a><h3>The <code class="literal">"homepage"</code> property</h3>
<pre class="programlisting">  "homepage"                 <span class="type">gchar</span>*                : Read / Write / Construct Only</pre>
<p>
The homepage of component
</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="IBustComponent--license"></a><h3>The <code class="literal">"license"</code> property</h3>
<pre class="programlisting">  "license"                  <span class="type">gchar</span>*                : Read / Write / Construct Only</pre>
<p>
The license of component
</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="IBustComponent--name"></a><h3>The <code class="literal">"name"</code> property</h3>
<pre class="programlisting">  "name"                     <span class="type">gchar</span>*                : Read / Write / Construct Only</pre>
<p>
The name of component
</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="IBustComponent--textdomain"></a><h3>The <code class="literal">"textdomain"</code> property</h3>
<pre class="programlisting">  "textdomain"               <span class="type">gchar</span>*                : Read / Write / Construct Only</pre>
<p>
The textdomain of component
</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="IBustComponent--version"></a><h3>The <code class="literal">"version"</code> property</h3>
<pre class="programlisting">  "version"                  <span class="type">gchar</span>*                : Read / Write / Construct Only</pre>
<p>
The version of component
</p>
<p>Default value: NULL</p>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>